package com.example.experiment5.mapper;

import com.example.experiment5.entity.*;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserMapper {

    List<Admin> AdminLogin(Admin admin);

    List<User> selectUser(int userId);

    List<User> selectAllUser();

    List<User> UserLogin(User user);

    List<User> selectRecord(int userId);

    User selectClocked(int clockId);

    List<User> selectHaveClocked();

    List<User> selectNotClocked();

    List<User> selectLast(int userId);

    int insertClocked(User user);

    int addClocked(int userId);

    int insertUser(User user);

    int updateClocked(User user);

    int updateUser(User user);

    int deleteUser(int userId);

    int deleteClocked(int userId);

//
//    Student Sel(int id);
//
//    /**
//     *  查询出全部成员名单
//     */
//    List<Student> SelectAllStudent();
//
//    /**
//    *  查询出当天打卡名单
//    */
//    List<Student> SelectTodayClocked();
//
//    /**
//     *  查询出当天未打卡名单
//     */
//    List<Student> SelectTodayNotClocked();
//
//    /**
//     *  根据学号查询出学生信息
//     */
//    List<Student> SelectStudentBySid(int sid);
//
//    /**
//     *  根据学号查询出当天打卡信息
//     */
//    Student SelectTodayClockedBySid(int sid);
//
//    /**
//     *  根据学号查询出全部打卡信息
//     */
//    List<Daka> SelectClockedBySid(int sid);
//
//    /**
//     *  根据clockId查询出打卡信息
//     */
//    Student SelectClockedByClockId(int id);
//
//    /**
//     * 查询出最近新增加的学生的sid
//     * @return
//     */
//    Student selectLastStudent();
//
//    /**
//     * 查询出没打卡的次数和最后一次打卡的时间
//     * @return
//     */
//    List<Student> selectLastTime(int sid);
//
//    /**
//     * 插入学生每日打卡信息（没打卡的情况下）
//     * @param student
//     * @return 1表示修改成功
//     */
//    int insertInformation(Student student);
//
//    /**
//     * 禁用/启用账号（修改账号state）
//     * @param student
//     * @return 1表示修改成功
//     */
//    int updateState(Student student);
//
//    /**
//     * 打完卡了，修改打卡状态0改1
//     * @param id
//                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     * @return 1表示修改成功
//     */
//    int updateClockedState(int id);
//
//    /**
//     * 保存修改学生信息
//     * @param student
//     * @return 1表示修改成功
//     */
//    int updateStudent(Student student);
//
//    /**
//     * 保存修改登录信息（用户名/密码）
//     * @param student
//     * @return 1表示成功
//     */
//    int updateLogin(Student student);
//
//    /**
//     * 修改已打卡信息
//     * @param student
//     * @return 1表示成功
//     */
//    int updateInformation(Student student);
//
//
//    /**
//     * 发布每日打卡
//     * @param str
//     * @return 返回1表示发布成功
//     */
//    int insertDaka(List<Student> str);
//
//    /**
//     * 插入学生信息
//     * @param student
//     * @return
//     */
//    int insertStudent(Student student);
//
//    /**
//     * 插入登录信息
//     * @param student
//     * @return
//     */
//    int insertLogin(Student student);
//
//    /**
//     * 删除学生
//     * @param sid
//     * @return 1表示删除成功
//     */
//    int deleteStudent(int sid);
//
//    /**
//     * 删除学生的时候需要把和他关联的外键一起删除，包括login表里的信息
//     * @param sid
//     * @return 1表示删除成功
//     */
//    int deleteLogin(int sid);
//
//    /**
//     * 删除全部打卡记录
//     * @param sid
//     * @return 1表示删除成功
//     */
//    int deleteDaka(int sid);
//
//    /**
//     * 删除全部打卡信息
//     * @param sid
//     * @return 1表示删除成功
//     */
//    int deleteInformation(int sid);
}